package com.ssy.common.utils;

import org.apache.shiro.crypto.hash.Md5Hash;

import java.util.UUID;

/**
 * @author ssy
 */
public class MD5Utils {

    /**
     * 加密密码
     *
     * @param source         要加密的密码
     * @param salt           盐
     * @param hashIterations 散列次数
     * @return
     */
    public static String md5(String source, Object salt, Integer hashIterations) {
        return new Md5Hash(source, salt, hashIterations).toString();
    }

    /**
     * 生成盐
     *
     * @return
     */
    public static String getSalt() {
        return UUID.randomUUID().toString().replace("-", "").toUpperCase();
    }

    /**
     * 生成指定长度的随机数
     *
     * @param len 长度
     * @return number
     */
    public static String getRandom(int len) {
        int res = (int) ((Math.random() * 9 + 1) * Math.pow(10, len - 1));
        return String.valueOf(res);
    }

}
